import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        //通配符
        String p = in.next().toLowerCase();
        String t = in.next().toLowerCase();
        System.out.println(isMatch(t,p));      
    }
    private static boolean isMatch(String t,String p){
        char[] arrt = t.toCharArray();
        char[] arrp = p.toCharArray();

        int tlen = t.length();
        int plen = p.length();
        //p 通配符  t需要匹配的字符串

        boolean[][] dp = new boolean[tlen+1][plen+1];
        dp[0][0] = true;

        for(int i = 0;i<=tlen;i++) {
            for(int j = 1;j<=plen;j++) {
                if('*' == arrp[j-1]) {
                    if(0 == i) {
                        dp[i][j] = dp[i][j-1];
                    }else {
                        if((arrt[i-1]>='a' && arrt[i-1]<='z') ||
                        (arrt[i-1]>='0' && arrt[i-1]<='9') ||
                        arrt[i-1]=='.') {
                            dp[i][j] = dp[i-1][j] || dp[i][j-1];
                        }
                    }
                }else {
                    if(i>0 && defs(arrt[i-1],arrp[j-1])) {
                        dp[i][j] = dp[i-1][j-1];
                    }
                }
            }
        }
        return dp[tlen][plen];

    }
    private static boolean defs(char a,char b) {
        if(b == '?') {
            return true;
        }else {
            if(a == b) {
                return true;
            }
        }
        return false;
    }
}